Histogram adjustment features for use in imaging technologies

ABSTRACT

A computer with a monitor viewable program executes to display a histogram of image data on the monitor. The monitor contemporaneously displays a screen image viewed on a monitor of the histogram, and displays a digital or analog control element that controls both compression and expansion of midtones. Activation of the midtone compression/expansion element alters the displayed image according to effects of programs underlying the control of the element. This histogram display and element are associated on a single logical screen display in which at least one other image data modification effect is present on the screen image as an addressable image data modification effect.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to the field of imaging technology,correction or adjustment of images and image data, the adjustment ofimage properties, and the use of look-up-tables and sliders on viewscreens to systematically adjust the visual properties of images andimage data.

[0003] 2. Background of the Art

[0004] Images and image data can be represented in many different termsand in many different scientific formats, and many different types ofproperties can be used to assist in defining the image and thecomponents of the image. A basic point or component in defining an imageis known in the art as a pixel, the pixel being the smallest unit ofinformation used to construct or define an image or the properties of animage. A pixel, depending upon the method in which the image isrendered, may vary in absolute size or proportions to the image, and thepixel itself may be composed of smaller units that need not be definedin the image data formatting system that is used to store the imagedata. For a particular example of this, an image rendered on a laserimaging system may have the data expressed in terms of pixels, but thephysical process of writing or printing an image requires that the laserimager address a number of spots to create the pixel. The shape of thepixels may also be defined and preselected, for example, by designing anordering of spots (number of spots, arrangement of spots, spacing ofspots, vacant area between spots, distribution or gradation of spots asa function of density and color, and any other elements that relate tohow spots are used to construct a pixel. The pixel, however, remains thebasic building block of the image, and remains the basic building blockof image data.

[0005] Each pixel may be defined by a range of properties, and groups ofpixels may also be defined by their individual properties and theirproperties in relationship to the properties of other pixels. In thedifferent options that are available for the definition of theproperties of pixels, many of the terms used in defining the propertiesare related to each other, overlap each other or are the same name,although used in the different definition systems. For example,properties defined by such as terms as brightness, lightness, darkness,density, optical density, maximum density, minimum density, hue, chroma,saturation, contrast, luminosity, tone, gamma, contrast, tristimulusvalues, C*I*e*, L*a*b*, and spectra are examples of the many specific orgeneral terms that are used within the imaging art. These terms areused, sometimes in association with general or specific mathematicalterms or systems to define an image, define the pixels, and define thecomponents of the image.

[0006] The advent of digital imaging, and more particularly the abilityto store, access and print images has greatly enhanced the ability ofhardware, software and apparatus to adjust the content of images andimage data by addressing the properties of individual pixels andcollections of pixels.

[0007] With the advent of digital reproduction machines, the copyprocess for making a permanent record of an image has changed. In adigital process, a document or image is scanned by a digital scanner toconvert the light reflected from the document into storable datarepresenting the light intensity from predetermined areas (pixels) ofthe document. These data, after suitable processing, are converted intoimage signals or pixels of image data to be used by the digitalreproduction machine to recreate the scanned image. The pixels of imagedata are processed by an image processing system which converts thepixels of image data into signals which can be utilized by a printingdevice to recreate the scanned image. This printing device may be eithera xerographic printer, ink jet printer, thermal printer, laser printer,video monitor, or any other type of printing device that is capable ofconverting digital data into a mark on a recording medium.

[0008] As with the light-lens systems, the quality of a reproductionmachine is still a function of how well the copy matches the original.However, in this digital environment, other factors can now contributeto or impact the quality of the reproduced image. For example, thescanner can impact the quality if the scanner is not properlycalibrated. Also, the output (printing) device can impact the quality ifa printhead is clogged or a photoreceptor is not properly cleaned. But,the aspect of the digital system which can have the greatest impact isthe digital (image) processing of the image data because a digitalmachine must convert light to a digital signal and then convert thedigital signal to a mark on a recording medium. In other words, theimage processing system provides the transfer function between the lightreflected from the document to the mark on the recording medium.

[0009] Quality can be measured in many different ways. One way is tolook at the characteristics of the reproduced image. An example of sucha characteristic for determining the quality of the reproduced image isthe contrast of the image. The contrast of an imaged (copied) documentis the most commonly used characteristic for measuring quality sincecontrast provides a good overall assessment of the image's quality.

[0010] In a digital reproduction machine, the image processing systemcan greatly impact the contrast of the image. Thus, to assure highquality at the output printing device, it is desirable to know thecontrast of the image being scanned prior to the image processing stagebecause, with this knowledge, the image processing system can processthe image data so that the reproduced image has the proper contrast. Oneway of obtaining this contrast information prior to digital imageprocessing is for the digital reproduction machine to generate a graylevel histogram, which gives an easy to read measure of the imagecontrast. The image or gray level histogram describes the statisticaldistribution of gray levels of an image in terms of the number of pixelsat each gray level.

[0011] A histogram can be represented graphically with a range ofintensity on the horizontal axis (e.g., from 0 to 255, if an eight-bitper pixel sampling resolution is utilized), and the number of pixels onthe vertical axis. Using this graphical representation, a histogram canillustrate whether an image is basically dark or light and high or lowcontrast, and what the distribution of data are within the image. It isimportant to know that when an image is represented by histogram, allspatial information is lost. The histogram specifies the number ofpixels of each gray level but gives no indication where these pixels arelocated in the image. In other words, very different images may havevery similar histograms.

[0012] Conventionally, when creating a histogram of the scanned image, adigital reproduction system samples a document, collects intensity datafrom the document, and uses this information to determine the document'sbackground value. In such conventional systems, the computed backgroundvalue of the document represents the average intensity of the document.

[0013] Histograms of low contrast images appear as narrow distributionsthat do not span the full tone range. Excessively dark images havehistograms with large peaks in regions of low intensity and excessivelybright images have large peaks in regions of high intensity. Histogramsof images with proper contrast have a distribution spanning the fulltone range, which is proportional to the amounts of objects of variousbrightness in the original scene from which the image was derived.

[0014] Enhancement of an image (to correct for image degradations suchas under or over-exposure, poor lighting, printer preferences, etc.) canbe achieved by modifying the histogram of an image. This “contrastenhancement”, is often made up of a combination of two lineartransformations known as histogram slide and histogram stretch. Theseoperations, based on an image's contrast and dynamic rangecharacteristics, redistribute the histogram so that contrast and dynamicrange may be enhanced. The objective of contrast enhancement is toutilize the full dynamic range to reveal the intensity variations(details) within the image that may not be visible until after thetransformation.

[0015] The histogram sliding operation is simply the addition orsubtraction of a constant intensity level to all pixels in the image.Doing this to every pixel effectively slides the entire input imagehistogram to the right or left. The basic effect of histogram sliding isa lightening or darkening of the image. Since the resulting histogram isonly shifted, the contrast of the output image will be identical to thatof the input image. The linear transformation or tone reproduction curve(TRC) map for a sliding operation has been a 45 degree line (this is whythe image contrast is maintained). For a slide of zero, the line wouldpass through the origin. For a positive slide (>0), the line will touchthe vertical axis (output intensity) passing through the origin. For anegative slide, the line will touch the horizontal axis (inputintensity) passing through the origin. A positive slide effectivelylightens an image, while a negative slide darkens an image.

[0016] Histogram stretching is the multiplication of all pixels in theimage by a constant value. For example, a histogram, with all the pixelsresiding in the lower half of the gray scale range, will spread out tooccupy the entire gray scale range when multiplied by a constant of two(2). This stretching operation expands or reduces the contrast anddynamic range of an image. The TRC map will always be a straight linepassing through the origin. For the case of a stretch of one (1), theline would be at a 45 degree angle. In general, contrast enhancement iscarried out in conjunction with histogram sliding.

[0017] Typically, in a scanner, the histogram of an image is determinedfrom a prescan. The minimum and maximum reflectance (or intensity) ofthe image area scanned, (R_(min) and R_(max)) respectively, aredetermined from this scan. The gray scale transformation of shifting andstretching the gray scale to occupy the entire dynamic range is simply amapping function from the input gray scale into a transformed outputgray scale. This is normally accomplished with a look-up table. The“classic” method of dynamic range modification effectively shifts theinput gray scale by R_(min) and then stretches the input dynamic range(R_(min) to R_(max)) to the available output dynamic range. R_(max) isthe image reflectance value such that the sum of the image area whichcontains reflectances above R_(max) is less than a prescribed percentageof the total image area, and R_(min) is the image reflectance value suchthat the sum of the image area which contains reflectances below R_(min)is less than a prescribed percentage of the total image area. Forexample, the percentage can be around three percent. Defining R_(min)and R_(min,) allows a greater “range” to stretch the rest of the greylevels. However, this definition of R_(max) and R_(min) instead of theabsolute minimum and maximum reflectance values within an image willcause equations and histograms defining the image data to effectivelycompress the gray level ranges by saturating them. This is usuallytolerable, though, because, since by definition, very few pixels havegray levels in these ranges, hence, little image information should belost.

[0018] In “Techniques for Image Processing and Classification in RemoteSensing,” by Robert A. Schowengerdt, Academic Press, 1983, it wascontended that if the image histogram is asymmetric, it is impossible tosimultaneously control the average gray level of the output image andthe amount of saturation at the ends of the histogram with a simplelinear transformation. The article suggests a two (or more) segmentpiecewise linear transformation, to make better use of the availablegray level range. One would need to manually determine a series oflinear steps designed to expand the individual intensity ranges in whichthe data fall to fill the available dynamic range. Thus, one coulddesignate a series of R_(min) and R_(max) values and use variouscontrast enhancing, stretching, sliding, mapping or transformingequations, within each region. An improvement in the automation of thisprocess and defining the boundaries of these segments in the TRC maprelates to the present invention.

[0019] U.S. Pat. No. 6,236,751 describes an image desired to bereproduced is scanned to determine its video pixel gray values. Ahistogram generator generates a histogram distribution representing afrequency of the gray values. The histogram distribution is analyzed todetermine minimum and maximum input gray values that define inputboundaries. A segment point is computed between the input boundariesbased on the histogram data. The segment point defines a plurality ofinput segments between the input boundaries. A dynamic output range isselected. Each input segment is mapped to an output segment based on alinear transformation for the corresponding segment. In this manner, atone reproduction curve map having a piecewise linear transformation isautomatically generated from the image histogram data.

[0020] U.S. Pat. No. 6,204,940 describes a process and apparatus toimprove the digital processing of scanned negative films by reducing theamount of time necessary to perform the process and by increasing therobustness and quality of the images produced. These benefits areachieved by a process of color inversion, white point and black pointmapping, and midtone adjustment. White and black mapping increases thedynamic range of the image, as well as removes the color cast of thenegative film. A backlit image post-processing algorithm can be employedwhich uses heuristics to identify back-lighted situations, which arethen brightened using a nonlinear power mapping. A midtone adjustmentcan include the sub-steps of contrast reduction and color adjustment.Contrast reduction reverses the film exposure characteristics. Coloradjustment removes the remaining color cast in the midtone region of theimage, and obtains the correct brightness. Starting from images withpoor contrast and color cast, the system automatically looks for theappropriate correction parameters to produce images with vivid color andgood contrast. This is achieved without rescanning or retaking thepicture. One implementation, using one-dimensional look-up-tables, isvery efficient.

[0021] U.S. Pat. No. 5,579,402 describes creating a histogram of animage signal matrix, representative of a radiographic image obtained byscanning a stimulable phosphor sheet carrying a radiation image withstimulating rays, detecting the light emitted after stimulation andconverting the detected light into electrical image signals, can beachieved by creating a histogram of an image signal matrix by means ofonly a fraction of the image pixels comprised in the image signalmatrix, the fraction being determined on the basis of statistical pixelsampling.

[0022] The correction of image data on a PC or networked computer can becomplex, even though the process has improved significantly over theyears. A number of process have been provided in software associatedwith imaging programs, and many separate functions have been provided.These changes are usually enabled with a screen viewable function,sometimes associated with visual images of graphic representation ofdata corresponding to the image data (e.g., a histogram, a D v logecurve, etc.). The screen viewable function could be, for example,luminosity, gamma, hue, tone, output/input range, etc. For example, ahistogram may be displayed with a program to edit luminosity. Othercommon terms for luminosity include lightness, value, luminance, tone orbrightness. The output maximum and output minimum may be adjusted (e.g.,range compression) or the clipping limits may be adjusted (e.g.,histogram stretching) and the effect of those changes is displayed onthe displayed histogram. The contrast (gamma) may also be indicated bymeans of a numeric value or as a tone reproduction curve, for instanceas a tone reproduction curve superimposed on or adjacent to thehistogram. However, certain image data correction functions have neverbeen combined on a single screen, and correction of certain features,such as the ability to alter mid-tones in a displayed histogram havebeen very complex. For example, histogram curves have been corrected byusing a PC displayed cursor to grab various portions of the tonereproduction curve, move those various ‘grabbed’ portions of the curve(also shifting other portions of the curve with it), and thus manuallyadjusting the entire curve. It takes a very sophisticated andwell-versed graphics expert to appreciate the nature of the effectsbrought on by the changes, and to envision the effects on the finalimage. Additionally, it is difficult for the ordinary operator tovisualize the effect of combinations of different data modificationprograms on a single set of image data.

[0023] A commercial product for the review of assay data prior toprinting out the data was originally distributed by Molecular Dynamics,928 East Arques Avenue, Sunnyvale, Calif. as “ImageQuant 5.0.” Thissoftware program accesses an image of a series of assay stripes anddisplays the composite side-by-side assays on a preview screen. A set ofsliders is provided to adjust the slope/bend in conjunction with aslider for altering brightness. This type of adjustment is uniquelydirected and of interest in the apparatus to the review of chemicalassays, which are visual representations of data, as the data is read interms of contrast and differences of the stripes. The capability of thesystem is not directed to improving the quality or characteristics ofthe image, but directed towards an ability to read and emphasize visualrepresentations of data.

SUMMARY OF THE INVENTION

[0024] A viewable program is provided by software that displays ahistogram of image data, a screen image viewed on a monitor displays thehistogram, an analog (e.g., slider) or digital (e.g., numerical, spincontrol or step function click spots) control element that controlscompression and expansion of midtones and wherein activation of themidtone compression/expansion element accordingly alters the displayedhistogram according to effects of programs underlying the movement ofthe element, this histogram display and element being associated on asingle screen display with at least one other image data modificationeffect (e.g., clipping, lightness adjustment, access to multiple look-uptable functions, contrast (gamma) adjustments). Effects on the histogram(that result from changes in the image data) by implementing the variousprograms, and especially the midtone correction program, aresimultaneously incorporated into the histogram image or an associatedtone reproduction curve displayed.

BRIEF DESCRIPTION OF THE FIGURES

[0025]FIG. 1 shows a block diagram of a system that may utilize or embedthe apparatus and process of the invention.

[0026]FIG. 2 shows a screen display in accordance with the presentinvention, including a slide correction for midtone control withdisplayed curves showing the effect of slide movement on shifting adisplayed histogram.

[0027]FIG. 3a shows look-up table curves produced by Gamma (γ)adjustment.

[0028]FIG. 3b shows a midtone compression curve that is exponentiallybased.

DETAILED DESCRIPTION OF THE INVENTION

[0029] A video monitor viewable program is provided by software thatdisplays 1) a screen image viewed on a monitor displaying a histogram ofimage data, 2) an analog (e.g., slider) or digital (e.g., numerical,spin control or step function click spots) control element that controlscompression and expansion of midtones and wherein activation of themidtone compression/expansion element accordingly alters the displayedhistogram or tone reproduction curve according to effects of programsunderlying the movement of the element, the histogram display and tonereproduction curve and element being associated on a single screendisplay in which 3) at least one other image data modification controlthat can effect the histogram (e.g., clipping, lightness adjustment,access to multiple look-up table functions, contrast (gamma)adjustments) is also available on the displayed screen. Effects on theimage data effected by this procedure are displayed on the histogramalong with the results of implementation of the various programs, andespecially the midtone correction program, which are simultaneouslydisplayed on the histogram image displayed, for example as a tonereproduction curve.

[0030] The term image data as used in the practice of the presentinvention relates to digital data representing an acquired image, and isused to exclude mere visual representations of data such as images ofgraphs, images of assays, images of charts, D v logE strips, liquidchromatography strips, pH strips, and the like. The image data morecharacteristically includes data of real or artificial images ofpersons, animals, flora, scenery, stellar scenes, weather events,thermal events, rooms, dwellings, vehicles, microscopic scenes andevents, cartoon figures, and the like.

[0031] To assist in the appreciation of the present invention, certainconcepts and definitions should be understood.

[0032] X_(min), Y_(min)—the minimum value of a color channel. X refersto input (i.e. original), Y refers to output (i.e., new). Normally theseare the same, for example zero.

[0033] X_(max), Y_(max)—the maximum value of a color channel. X refersto input (i.e., original), Y refers to output (i.e., new). Normallythese are the same. For example, it is convenient but not essential touse 2⁸−1=255, i.e., an 8-bit color or brightness channel.

[0034] X, Y—an arbitrary input channel value and its associated outputvalue

[0035] T—a threshold value in color channel units

[0036] LUT—look-up table, which tabulates desired output channel valuesfor all possible input channel values, so that manipulation of the imageconsists of using the current (input) channel value as an index into thetable to retrieve the new (output) value and placing it into the outputchannel

[0037] When this system is implemented, it is possible for the user toopen up a histogram of an image (image data), view the monitor displayof the histogram, make the automated compression/expansion of themidtone curve, and combine that functional change with other adjustmentsin the image data, such as clipping limits, contrast, and the like.Reference to FIG. 2 will assist in an appreciation of this aspect of theinvention.

[0038]FIG. 2 shows a screen image 200 of an active screen 202 histogram204 of an image. Also shown on the active screen 202 are cursoractivated features such as a button to reset program defaults 205, aHelp button 206, Cancel button 208, and OK button 210. Also shown on theactive screen 202 are a histogram magnification button 212, a histogramsize reduction button 214 (with between them a button to reset thehistogram magnification), a gamma value indicator 216, a Low (minimumdensity) clip limit indicator 218, a High (maximum density) clip limitindicator 220, and their respective percentage values 222, 224 and theircorresponding Output maximum 226 and Output minimum 228 channel valuecontrols and indicators. The Edit function indicator 230 is set onLuminosity. Also shown are clipping limit slider controls 232 (minimum)and 234 (maximum) and gamma adjustment slider control indicator 236. Onthe right side of the screen are shown midtone correction programcontrols 250. The midtone correction program controls 250 comprise amidtone compression curve display 238, a midtone expansion curve display240, a midtone numeric indicator 248, a slide control 242, an image of aslide path 244 and a scholastic scale 246 for the midtone adjustment. Anoperator controlled cursor (not shown) would virtually contact the slidecontrol 242, grab the slide control 242, move the slide control 242upwards to correct the midtones by compression or downwards to correctthe midtones by expansion. The movement of the slide would engage amidtone correction algorithm or function, the effects of which wouldsubsequently operate on the image and on the histogram 204. Changes toany of the controls affecting the image and its histogram, such as cliplimit controls 232 and 234, the gamma adjustment control 236, theminimum and maximum output value controls 226 and 228, and the midtonecorrection program controls 250 are represented by the tone reproductioncurve 260 superimposed on the image histogram 204. The tone reproductioncurve 260 is updated dynamically in response to changes in any of theaforementioned controls. Controls in dialog 220 may be selected andmodified by means of a cursor (not shown), for example controlled by apointing device such as a mouse, light pen, puck, graphic tablet pen,trackball, touch screen, touch panel, and the like. Additionally oralternatively, the controls may be selected and modified with keyboardkeys, for example by means of accelerator keys (e.g., “E” for “Edit”)associated with specific controls, or by tabbing from control tocontrol, or by means of the spacebar key, carriage return key, arrowkeys, function keys and the like, optionally including provision fordirect numeric entry of desired control values.

[0039] When operated, this midtone control can:

[0040] 1. Process the luminance of the image (calculated from acombination of the RGB channels for a color image, for example as aweighted or unweighted linear combination, or using the brightnessvalues directly for a grayscale image).

[0041] 2. Process the color channels of an image either individually orby making independent changes to all three at once.

[0042] 3. Clip low intensities (i.e. convert all channel values below athreshold T to the value Y_(min) so that the remaining values lie from Tto X_(max) and then linearly stretch these latter values to the intervalX_(min) to X_(max)). The stretching is accomplished, for example only,with $Y = \left\{ \begin{matrix}{Y_{\min},{X < {T.}}} \\{Y_{\min} + {\left( {Y_{\max} - Y_{\min}} \right){\left( {X - T} \right)/{\left( {X_{\max} - T} \right).}}}}\end{matrix} \right.$

[0043] 4. Clip high intensities (i.e., convert all channel values abovea threshold T to Y_(max) so that the remaining values lie from X_(min)to T and then linearly stretch these latter values to the intervalX_(min) to X_(max)). The stretching is accomplished, for example only,with $Y = \left\{ \begin{matrix}{Y_{\max},{X > {T.}}} \\{Y_{\max} - {\left( {Y_{\max} - Y_{\min}} \right){\left( {T - X} \right)/{\left( {T - X_{\min}} \right).}}}}\end{matrix} \right.$

[0044] 5. Adjust the balance between light and dark areas of the imageby gamma adjustment as described in detail below.

[0045] 6. Compress or expand the midtones of the region as described indetail below.

[0046] 7. Restrict the range of channel values in the result image to acertain range by setting the lower limit of the range, or the upperlimit of the range, or both.

[0047] This is accomplished, for example only, with

Y=Y _(lower)+(Y _(upper) −Y _(lower)) (X−X _(min))/(X _(max) −X _(min))

[0048] 8. Display the histogram of the image.

[0049] 9. Display a tone reproduction curve that represents thetransformation that will be applied to the channel values of the image(which, for example, is done by constructing a LUT from this tonereproduction curve).

[0050] 10. Magnify the histogram to allow detail to be viewed moreeasily and restore the histogram to normal size.

[0051] 11. Provide a view of the original image and a preview of thechanges that would be applied to the image.

[0052] 12. Provide a means to apply the change to an image or cancel theoperation.

[0053] 13. Provide explanatory information.

[0054] 14. Remember previous settings from the last use of the dialog.

[0055] 15. Restore either the previous settings or default settings.

[0056] Note that, though individual equations are given for items 3, 4and 7, these can all be folded into a single equation. Additionally,there is an unlimited supply of functions, algorithms, and formulae thatexist or may be generated to replace the merely exemplary formulae,algorithms or functions, and the invention should not be considered aslimited by the number of examples or specific examples given. Thisresult can also be folded into the items 5 and 6 so that a singleequation can be used to construct the LUT.

[0057] The Gamma (γ) adjustment described above is conventional art andmay, for example, be carried out as follows:

Y=Y _(max)(X/X _(max))^(1/γ)

[0058] i.e., 1/γ is an exponent. When γ<1, then the image is darkened(mean channel value is lowered); when γ>1 the image is brightened (meanchannel value is raised); when γ is 1 there is no change. The LUT ortone reproduction curves appear as shown in FIG. 3a.

[0059] The term “midtone” is used in various ways within the art. It issometime referred to in a very specific manner as the middle third ofall values in the histogram. That tends to be too limiting in somepractices of the invention, so a more general meaning is acceptable,covering a range (usually unsymmetrical) around the mid point or measureof central tendency of the color or brightness distribution representedby the histogram.

[0060] The midtone compression is, again for example only, carried outwith a tilde function under the constraint that the mean channel valueis left unchanged (explained below) using this equation:

Y=Y _(max) exp{−b[ln(X _(max) /X)]^(p)}

[0061] Here exp(z) means e^(z), where e is the base of naturallogarithms, and ln is the natural logarithm. The exponent p controls theshape of the function, as shown in FIG. 3b.

[0062] The value p=1 is a special case. In this situation the equationsimplifies to

Y=Y _(max)(X/X _(max))^(b)

[0063] so that we have the form of a gamma adjustment function withγ=1/b (i.e., the reciprocal of b). After applying the conventional gammaadjustment (and any clipping) the mean value of the input channel,X_(mean), is computed and then the tilde function is applied. The valueof b in the function determines the position of the point X_(mean) afterapplication of the tilde function. The value of b is chosen in such away that X_(mean) remains unchanged after application of the tildefunction. This means that b is given by:

b=[ln(X _(max) /X _(mean))]^(1−p)

[0064] As a result, the complete form of the implementation of the tildefunction can be written as:

Y=Y _(max) exp {−[ln(X _(max) /X _(mean))]^(1−p[ln() X _(max) /X)]^(p)}

[0065] The original reference to the tilde function is A. V. Isaev,“Zakon Razpredeleniya Bogatsva” (“The Law of the Distribution ofWealth”), “LISS” Publishing Company, St. Petersburg, Russia, 1998,Chapter 1, Equation 1.

[0066] Under certain conditions, for example where p>1, the tildefunction is sigmoidal. In principle, other sigmoidal functions could beused in place of the tilde function. The arctangent and tangentfunctions are examples, as is an adaptation of the Weibull function,which is used to describe skewed frequency distributions and has theform:

Y=1−exp[−(X/β)^(α)]

[0067] where α is a shape parameter and β is a width or scale parameterfor the distribution.

[0068] By way of additional, but not exhaustive nor limiting examples ofsigmoidal functions that could be adapted for use in the invention, wenote:

y=1/(1−e ^(−x/s))

y=tan h(x)=(1−e ^(−x/s))/(1+e ^(−x/s)) (the hyperbolic tangent function)

y=[(1−s ² x ²)−1]/sx

y=x sgn(x) (x−s)/(x ² −s ²)

[0069] The last function can be computed only with multiplication anddivision. In consequence, the calculation is faster than for functionscontaining exponents or roots.

[0070] References to these sigmoidal functions are:

[0071] W. Duch and N. Jankowski, “Bi-radial transfer functions”, inProceedings of the Second Conference on Neural Networks and TheirApplications, Szczyrk, Poland, May 1996, 131-137.

[0072] W. Duch and N. Jankowski, “Bi-radial transfer functions”,Technical Report UMK-KMK-TR January 1996, Department of ComputerMethods, Nicholas Copernicus University, Toru, Poland, 1995.

[0073] References to the use of sigmoidal functions for contrastadjustment include: G. J. Braun and M. D. Fairchild, “Image LightnessRescaling using Sigmoidal Contrast Enhancement Functions”, Journal ofElectronic Imaging, 8, 380-393 (1999).

[0074] G. J. Braun and M. D. Fairchild, “Image Lightness Rescaling usingSigmoidal Contrast Enhancement Functions”, IS&T/SPIE Electronic Imaging'99, Color Imaging: Device Independent Color, Color Hardcopy, andGraphic Arts IV, San Jose: 96-105 (1999).

[0075] G. J. Braun and M. D. Fairchild, “Gamut Mapping for PictorialImages”, TAGA Proceedings: 645-660 (1999).

[0076] It is not necessary to use explicit functions to manipulatemidtones or contrast. For example, piecewise curves formed byinterpolation between points, whether linear or by splines or othermeans, may also be used provided they are structured to permit bothcompression and expansion of midtones. Indeed the entire manipulationmay be performed with look up tables and no explicit reference to acurve, though it is preferred to provide a visual indication of theresulting tone reproduction curve.

[0077] The present invention includes at least a computer (with anyformatting, power, or design) with a monitor (e.g., CRT, light emittingdiode display, liquid crystal display, plasma display, or any otherviewable system, particularly any system in which digital informationcan be viewed, particularly in color) viewable program (that is theimage information produced or treated by the program can be displayed)that executes to display a histogram of image data on the monitor, themonitor contemporaneously displaying a screen image viewed on a monitordisplaying the histogram, and displays a digital or analog controlelement that controls both compression and expansion of midtones,wherein activation of the midtone compression/expansion elementaccordingly alters the displayed image according to effects of programsunderlying the control of the element, this histogram display andelement being associated on a single logical screen display in which atleast one other image data modification effect is present on the screenimage as a cursor addressable or keyboard selectable image datamodification effect. The computer with a monitor viewable program(referred to herein as the “system”) may have the at least one otherimage data modification effect included as at least one functionselected from the group consisting of clipping, lightness adjustment,output range compression, access to multiple look-up table functions,and contrast adjustments. It is an option to have the system controlelement comprise a slider that controls both compression and expansion.This control element may comprise a single control that controls bothcompression and expansion. A useful formatting of the display controlscreen for the viewable program is wherein adjacent the slider arerepresentations of a midtone expansion curve and a midtone compressioncurve. The system may display a histogram with an active tonereproduction curve display showing combined effects of midtonecorrections and the at least one function.

[0078] The system may provide the at least one other image datamodification effect as including at least one function selected from thegroup consisting of clipping, lightness adjustment, output rangecompression or expansion, access to multiple look-up table functions,and contrast adjustments.

[0079] The invention may be described in another aspect as a system forprocessing of image data comprising a computer that provides data to avideo monitor, the data including virtual representations of a dialog onimage data including at least one screen image viewed on the monitorthat displays a histogram, and displays a digital or analog controlelement that controls both compression and expansion of midtones,wherein activation of the midtone compression/expansion elementaccordingly alters the displayed image according to effects of programsunderlying the control of the element, this histogram display andelement being associated on a single screen display in which at leastone other image data modification effect appears on the virtual imageand is a cursor addressable or keyboard selectable image datamodification effect.

[0080] The invention may still further be alternatively described as acomputer with a monitor viewable program that executes to display ahistogram of image data on the monitor, the monitor contemporaneouslydisplaying a screen image viewed on a monitor that displays thehistogram, and displays a digital or analog control element thatcontrols both compression and expansion of midtones, wherein activationof the midtone compression/expansion element accordingly alters thedisplayed image according to effects of programs underlying the controlof the element, this histogram display and element being associated onthe monitor display.

[0081] An attribute of certain improvements in the practice of thepresent invention is where effects implemented on the histogram (that ison the image of which the histogram is displayed), including at leastthe midtone expansion and compression program, are simultaneouslyincorporated into the image displayed.

[0082] The invention may still be further described in another aspect asa computer with a video monitor viewable program provided by softwarethat displays a) a screen image viewed on a monitor displaying ahistogram of image data, b) a digital slider and/or analog controlelement that controls compression and expansion of midtones and whereinactivation of the midtone compression/expansion element accordinglyalters the displayed image according to effects of programs underlyingthe movement of the element, the histogram display and element beingassociated on a single screen display in which c) at least an image datamodification control other than midtone compression and expansion thatcan effect the histogram selected from the group consisting of clipping,output range compression and expansion, access to multiple look-up tablefunctions, and contrast adjustments is also available on the screendisplay.

[0083] A particularly desirable field of practice of the inventionincludes those fields wherein the image data represents real orartificial images of persons, animals, flora, scenery, stellar scenes,weather events, thermal events, rooms, dwellings, vehicles, microscopicscenes, microscopic events, or cartoon figures. Alternatively, the imagedata relates to digital images of photographs and web graphics. Theluminance of the image is calculated from a combination of the RGBchannels for a color image or by using the brightness values directlyfor a grayscale image. The color channels of the image are processedeither individually or by making independent changes to all channels atonce. Another feature can include the program acting to clip lowintensities. For example, this clipping can be effected by convertingall channel values below a threshold T to the value Y_(min) so that theremaining values lie from T to X_(max) and then linearly stretchingthese latter values to the interval X_(min) to X_(max). Stretching, byway of a non-limiting example, may be accomplished with the algorithm:$Y = \left\{ \begin{matrix}{Y_{\min},{X < {T.}}} \\{Y_{\min} + {\left( {Y_{\max} - Y_{\min}} \right){\left( {X - T} \right)/{\left( {X_{\max} - T} \right).}}}}\end{matrix} \right.$

[0084] or wherein clipping of high intensities is effected by theprogram.

[0085] A particularly unique practice of the present invention, asdescribed in greater detail with examples herein is where a tildefunction is used for contrast adjustment. Also, gamma function may beused for contrast adjustment. The gamma function, by way of anon-limiting example, may be:

Y=Y _(max)(X/X _(max))^(1/γ)

EXAMPLES

[0086]FIG. 1 is a block diagram illustrating structure of an imageprocessing system with an apparatus for determining image processingparameters incorporated therein as one embodiment according to thepresent invention. The image processing system includes an image readingdevice 10, an image processing apparatus 20, and an image recordingdevice 50. The image reading device 10 is realized, for example, by aninput scanner or a digital camera that reads image data of a colorimage. The image reading device 10 outputs image data (R, G, and Bsignals) DR, DG, and DB of the respective color components obtained byscanning an image of an original by every pixel. The image readingdevice 10 may otherwise be realized by a magnetic disk in which imagedata are stored or a compact disk (CD) or in the form of a networkcommunicated with another device via a communications line.

[0087] The image processing apparatus 20 is realized by a computersystem, such as a work station or a personal computer. The imageprocessing apparatus 20 may convert the image data (e.g., DR, DG, andDB) input from the image reading device 10 into image recording data(e.g., R,G, B; DY, DM, DC, and DK of Y, M, C, and K). The resultingimage data (e.g., DY, DM, DC, and DK or DR, DG and DB) are transmittedto the image recording device 50.

[0088] The image recording device 50 is realized, for example, by animagesetter, video monitor or a color printer that records image data.In the case of the imagesetter, for example, the image recording dataDY, DM, DC, and DK output from the image processing apparatus 20 arefurther converted into halftone image signals. The halftone imagesignals are recorded on a photosensitive film by ON/OFF modulation of anexposure laser beam, so as to give a color separation film on whichimages of the respective color components Y, M, C, and K are recorded.The image recording device 50 may otherwise be realized by a magneticdisk or compact disk (CD) or in the form of a network communicated withanother device via a communications line. In this case, the imagerecording data DY, DM, DC, and DK may be recorded or transferred withoutany further processing.

[0089] A CPU 22 of the image processing apparatus 20 is connected with aframe memory 26, a correction data memory 27, and a main memory 28 via abus 24. A keyboard 32, a mouse 34 functioning as a pointing device, acolor CRT 36 functioning as a display unit, and a hard disk drive 38 anda flexible drive 40 for temporarily storing a variety of data areconnected to the image processing apparatus 20 via an input-outputinterface 30. The keyboard 32 and the mouse 34 function as thecoordinate point input means for specifying coordinates of a fixed pointand a moving point and as the input means for inputting keywordinformation discussed later. The image processing apparatus 20 isfurther connected to the image reading device 10 and the image recordingdevice 50 via an image input-output interface 42.

[0090] The main memory 28 stores software (applications programs) thatrealize the respective functional units of the image processingapparatus 20 (more concretely, the functions of the inferring unit, thecorrection value inferring unit, the correction unit, and the imageconversion device of the present invention). The CPU 22 executes thesoftware to realize the functions of the respective units and thedevice, which have been described previously.

[0091] The software realizing the functions of these units and thedevice is recorded on a computer readable recording medium, such as afloppy disk or a CD-ROM. The computer reads the software from therecording medium and transfers the input software to an internal storagedevice (for example, the main memory 28) or an external storage device(for example, the hard disk drive 38 or the flexible drive 40). Thesoftware may otherwise be supplied to the computer via a communicationsnetwork. By way of example, the image processing apparatus 20 isconnected with a modem, which is further connected to a networkincluding a server via a communications line. The server functions as aprogram supply device that supplies the software to the image processingapparatus 20 via the communications line.

[0092] The CPU 22 executes the computer programs stored in the internalstorage device to realize the functions of the computer programs.Alternatively the computer directly reads and executes the computerprograms recorded on the recording medium.

What is claimed:
 1. A computer with a monitor viewable program thatexecutes to display a histogram of image data on the monitor, themonitor contemporaneously displaying a screen image viewed on a monitordisplaying the histogram, and displays a digital or analog controlelement that controls both compression and expansion of midtones,wherein activation of the midtone compression/expansion elementaccordingly alters the displayed image according to effects of programsunderlying the control of the element, this histogram display andelement being associated on a single logical screen display in which atleast one other image data modification effect is present on the screenimage as a cursor addressable or keyboard selectable image datamodification effect.
 2. The computer with a monitor viewable program ofclaim 1 wherein the at least one other image data modification effectincludes at least one function selected from the group consisting ofclipping, lightness adjustment, output range compression or expansion,access to multiple look-up table functions, and contrast adjustments. 3.The computer with a monitor viewable program of claim 1 wherein thecontrol element comprises a slider that controls both compression andexpansion.
 4. The computer with a monitor viewable program of claim 1wherein the control element comprises a single control that controlsboth compression and expansion.
 5. The computer with a monitor viewableprogram of claim 4 wherein the at least one other image datamodification effect includes at least one function selected from thegroup consisting of clipping, lightness adjustment, output rangecompression or expansion, access to multiple look-up table functions,and contrast adjustments.
 6. The computer with a monitor viewableprogram of claim 4 wherein adjacent the slider are representations of amidtone expansion curve and a midtone compression curve.
 7. The computerwith a monitor viewable program of claim 4 wherein a histogram with anactive tone reproduction curve display shows combined effects of midtonecorrections and the at least one function.
 8. The computer with amonitor viewable program of claim 5 wherein the at least one other imagedata modification effect includes at least one function selected fromthe group consisting of clipping, lightness adjustment, output rangecompression or expansion, access to multiple look-up table functions,and contrast adjustments.
 9. A system for processing of image datacomprising a computer that provides data to a video monitor, the dataincluding virtual representations of a dialog on image data including atleast one screen image viewed on the monitor that displays a histogram,and displays a digital or analog control element that controls bothcompression and expansion of midtones, wherein activation of the midtonecompression/expansion element accordingly alters the displayed imageaccording to effects of programs underlying the control of the element,this histogram display and element being associated on a single logicalscreen display in which at least one other image data modificationeffect appears on the virtual image and is a cursor addressable imagedata modification effect.
 10. A computer with a monitor viewable programthat executes to display a histogram of image data on the monitor, themonitor contemporaneously displaying a screen image viewed on a monitorthat displays the histogram, and displays a digital or analog controlelement that controls both compression and expansion of midtones,wherein activation of the midtone compression/expansion elementaccordingly alters the displayed image according to effects of programsunderlying the control of the element, this histogram display andelement being associated on the monitor display.
 11. The computer andmonitor viewable program of claim 1 wherein all effects implemented onthe histogram, including at least the midtone expansion and compressionprogram, are simultaneously incorporated into the image displayed.
 12. Acomputer with a video monitor viewable program provided by software thatdisplays a) a screen image viewed on a monitor displaying a histogram ofimage data, b) a digital slider and/or analog control element thatcontrols compression and expansion of midtones and wherein activation ofthe midtone compression/expansion element accordingly alters thedisplayed image according to effects of programs underlying the movementof the element, the histogram display and element being associated on asingle screen display in which c) at least an image data modificationcontrol other than midtone compression and expansion that can effect thehistogram selected from the group consisting of clipping, output rangecompression or expansion, access to multiple look-up table functions,and contrast adjustments is also available on the screen display. 13.The computer with a video monitor viewable program provided by softwareof claim 11 wherein all effects implemented on the histogram, includingat least the midtone expansion and compression program, aresimultaneously incorporated into the image displayed.
 14. The computerwith a video monitor viewable program of claim 11 wherein the image datarepresents real or artificial images of persons, animals, flora,scenery, stellar scenes, weather events, thermal events, rooms,dwellings, vehicles, microscopic scenes, microscopic events, or cartoonfigures.
 15. The computer with a video monitor viewable program of claim11 wherein the image data relates to digital images of photographs andweb graphics.
 16. The computer and monitor viewable program of claim 1wherein luminance of the image is calculated from a combination of theRGB channels for a color image or by using the brightness valuesdirectly for a grayscale image.
 17. The computer and monitor viewableprogram of claim 1 wherein color channels of the image are processedeither individually or by making independent changes to all channels atonce.
 18. The computer and monitor viewable program of claim 1 whereinthe program also clips low intensities.
 19. The computer and monitorviewable program of claim 16 wherein clipping is effected by convertingall channel values below a threshold T to the value Y_(min) so that theremaining values lie from T to X_(max) and then linearly stretchingthese latter values to the interval X_(min) to X_(max).
 20. The computerand monitor viewable program of claim 17 wherein the stretching isaccomplished with the algorithm: $Y = \left\{ \begin{matrix}{Y_{\min},{X < {T.}}} \\{Y_{\min} + {\left( {Y_{\max} - Y_{\min}} \right){\left( {X - T} \right)/{\left( {X_{\max} - T} \right).}}}}\end{matrix} \right.$


21. The computer and monitor viewable program of claim 16 whereinclipping of high intensities is effected by the program.
 22. Thecomputer and monitor viewable program of claim 19 wherein the clippingis effected by application of an algorithm to convert all channel valuesabove a threshold T to Y_(max) so that the remaining values lie fromX_(min) to T and then linearly stretch these latter values to theinterval X_(min) to X_(max).
 23. The computer and monitor viewableprogram of claim 19 wherein the stretching is accomplished with$Y = \left\{ \begin{matrix}{Y_{\max},{X > {T.}}} \\{Y_{\max} - {\left( {Y_{\max} - Y_{\min}} \right){\left( {T - X} \right)/{\left( {T - X_{\min}} \right).}}}}\end{matrix} \right.$


24. The computer and monitor viewable program of claim 1 wherein a tildefunction is used for contrast adjustment.
 25. The computer and monitorviewable program of claim 1 wherein a gamma function is used forcontrast adjustment.
 26. The computer and monitor viewable program ofclaim 25 wherein the gamma function comprises: Y=Y _(max)(X/X_(max))^(1/γ)
 27. The computer and monitor viewable program of claim 24wherein the tilde function comprises: Y=Y _(maxexp{−b) [ln (X _(max)/X)]^(p)}